feat(ide): add code-server as a browser-based IDE option - #449
Conversation
|
Warning Review limit reached
More reviews will be available in 39 minutes and 16 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (11)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Deploy Preview for devsydev canceled.
|
b98b003 to
548249b
Compare
Mirrors the existing openvscode-server plumbing: new pkg/ide/codeserver package handles tarball install, settings, extension install and a background Start(); wired into the container setup switch, the browser-tunnel opener, the SSH auth-sock reuse helper, and the tunnel port-forward list. Default port 10801 to sit next to openvscode's 10800. Also removes the AllowedIDE.Experimental field entirely — leftover from the devpod fork with no remaining purpose. JSON tag had omitempty so API consumers see no change.
548249b to
6e41da9
Compare
Summary
Adds code-server (coder.com's browser-based VS Code) as a new IDE option alongside the existing openvscode-server. Mirrors openvscode's plumbing: new
+ "pkg/ide/codeserver" +package handles tarball install, settings, extension install, and a background+ "Start()" +; wired into the container setup switch, the browser-tunnel opener, the SSH auth-sock reuse helper, and the tunnel port-forward list.Default port 10801 (sits next to openvscode's 10800;
+ "FindAvailablePort" +resolves collisions between simultaneous workspaces).Also rips out the
+ "AllowedIDE.Experimental" +field entirely — leftover from the devpod fork with no remaining purpose. JSON tag had+ "omitempty" +so API consumers see no change.Design choices
+ "--auth none" +: matches openvscode's posture. The published path is the devsy port-forward tunnel (authenticated); intra-container access is unauthenticated.+ "--user-data-dir" +is pinned explicitly so the settings install path stays stable regardless of+ "XDG_DATA_HOME" +.+ "ServerOptions" +struct (matches+ "vscode.NewVSCodeServer" +pattern) rather than 6 positional args.Files
+ "pkg/ide/codeserver/codeserver.go" +— new package+ "cmd/agent/container/codeserver_async.go" +— background extension install+ "pkg/config/ide.go" +,+ "pkg/ide/ideparse/parse.go" +,+ "pkg/ide/types.go" +— IDE registration + auth-sock reuse+ "pkg/ide/opener/opener.go" +,+ "pkg/ide/opener/browser_tunnel_state.go" +— browser-tunnel dispatch + label+ "cmd/agent/container/setup.go" +,+ "cmd/agent/container/container.go" +— container setup wiring+ "pkg/tunnel/services.go" +— port-forward registration